﻿@{
    Layout = null;
}
<!DOCTYPE html>
<html ng-app="appmodule">
<head>
    <meta charset="utf-8" />
    <title>Angular Evento</title>
    <link href="~/Content/Site.css" rel="stylesheet" />
</head>
<body>
    <div ng-view></div>

    <script src="~/Scripts/angular.js"></script>
    <script>
        angular.module('appmodule', []).
        config(['$routeProvider', function ($routeProvider) {
            $routeProvider.
                when('/listagem', { templateUrl: '@Url.Action("Listagem")', controller: ListagemController }).
                when('/novo', { templateUrl: '@Url.Action("Novo")', controller: NovoController }).
                when('/editar/:id', { templateUrl: '@Url.Action("Editar")', controller: EditarController }).
                otherwise({ redirectTo: '/listagem' });
        }]);

        function ListagemController($scope, $http, $location) {
            $scope.listar = function () {
                $http.get("/api/Cliente").success(function (data) {
                    $scope.Lista = data;
                }).error(function () {
                    alert("Erro ao conectar no servidor.");
                });
            }

            $scope.remover = function (id) {
                $http.delete("/api/Cliente/" + id).success(function (data) {
                    $scope.listar();
                }).error(function () {
                    alert("Erro ao conectar no servidor.");
                });
            }

            $scope.editar = function (id) {
                $location.path("/editar/" + id);
            }

            $scope.listar();
        }

        function NovoController($scope, $http, $location) {
            $scope.salvar = function (usuario) {
                $scope.submitted = true;
                if (!$scope.formCliente.$valid) return;

                $http.post("/api/Cliente", usuario).success(function (data) {
                    alert("Registro salvo com sucesso.");
                    $location.path("/listagem");
                }).error(function () {
                    alert("Erro ao conectar no servidor.");
                });
            }
        }

        function EditarController($scope, $http, $location, $routeParams) {
            $scope.carregar = function () {               
                $http.get("/api/Cliente/" + $routeParams.id).success(function (data) {
                    $scope.Usuario = data;
                }).error(function () {
                    alert("Erro ao conectar no servidor.");
                });
            }

            $scope.salvar = function (usuario) {
                $scope.submitted = true;
                if (!$scope.formCliente.$valid) return;

                $http.put("/api/Cliente/" + usuario.Id, usuario).success(function (data) {
                    alert("Registro salvo com sucesso.");
                    $location.path("/listagem");
                }).error(function () {
                    alert("Erro ao conectar no servidor.");
                });
            }

            $scope.carregar();
        }
    </script>
</body>
</html>
